package javabean.MerchantInfo;

import cn.hutool.core.annotation.Alias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

@Data
@ApiModel(description = "商户入驻信息")
public class MerchantInfo {

    @Alias("req_seq_id")
    @ApiModelProperty(value = "请求流水号【请求流水号，当日唯一；示例值：2022012614120615001】", required = true)
    @NotBlank(message = "reqSeqId不能为空")
    @Length(min = 1, max = 32, message = "reqSeqId 长度范围：1~32")
    private String reqSeqId;

    @Alias("req_date")
    @ApiModelProperty(value = "请求日期【日期格式：yyyyMMdd，示例值：20220125】", required = true)
    @NotBlank(message = "reqDate不能为空")
    @Length(min = 1, max = 8, message = "reqDate 长度范围：1~8")
    private String reqDate;

    @Alias("upper_huifu_id")
    @ApiModelProperty(value = "渠道商号【该商户进件完成后归属的渠道商huifu_id； 示例值：6666000123123123】", required = true)
    @NotBlank(message = "upperHuifuId不能为空")
    @Length(min = 1, max = 18, message = "upperHuifuId 长度范围：1~18")
    private String upperHuifuId;

    @Alias("reg_name")
    @ApiModelProperty(value = "商户名称【必须与企业证照上的名称一致； 个体工商户的营业执照如没有名称，名称为“*”或空，则商户名称应填 “个体户XXX”（XXX为营业执照上经营者姓名），如“个体户张三”，汉字以2个字符计算 ； 示例值：上海汇付支付有限公司】", required = true)
    @NotBlank(message = "regName不能为空")
    @Length(min = 1, max = 64, message = "regName 长度范围：1~64")
    private String regName;

    @Alias("short_name")
    @ApiModelProperty(value = "商户简称【最少4个字符；会展示在消费账单上；示例值：汇付商城 】", required = true)
    @NotBlank(message = "shortName不能为空")
    @Length(min = 1, max = 64, message = "shortName 长度范围：1~64")
    private String shortName;

    @Alias("receipt_name")
    @ApiModelProperty(value = "小票名称【小票名称展示在POS小票上；示例值：汇付商城】", required = true)
    @NotBlank(message = "receiptName不能为空")
    @Length(min = 1, max = 50, message = "receiptName 长度范围：1~50")
    private String receiptName;

    @Alias("mer_en_name")
    @ApiModelProperty(value = "商户英文名称【示例值：huifupay】", required = false)
    @Length(min = 1, max = 256, message = "merEnName 长度范围：1~256")
    private String merEnName;

    @Alias("ent_type")
    @ApiModelProperty(value = "公司类型【当use_head_info_flag=Y时不填； 1：政府机构 2：国营企业 3：私营企业 4：外资企业 5：个体工商户 6：其它组织 7：事业单位 9：业主委员会； 示例值：1；】", required = true)
    @NotBlank(message = "entType不能为空")
    @Length(min = 1, max = 1, message = "entType 长度范围：1~1")
    private String entType;

    @Alias("mcc")
    @ApiModelProperty(value = "所属行业【参考汇付MCC编码 ；当use_head_info_flag=Y时不填 示例值：5311】", required = false)
    @Length(min = 1, max = 7, message = "mcc 长度范围：1~7")
    private String mcc;

    @Alias("busi_type")
    @ApiModelProperty(value = "经营类型【1：实体，2：虚拟 ；示例值：1 ；当use_head_info_flag=Y时不填】", required = false)
    @Length(min = 1, max = 1, message = "busiType 长度范围：1~1")
    private String busiType;

    @Alias("scene_type")
    @ApiModelProperty(value = "场景类型【ONLINE：线上场景； OFFLINE：线下场景； ALL：线上线下； 示例值：ALL】", required = true)
    @NotBlank(message = "sceneType不能为空")
    @Length(min = 1, max = 8, message = "sceneType 长度范围：1~8")
    private String sceneType;

    @Alias("license_pic")
    @ApiModelProperty(value = "证照图片【通过图片上传接口上传材料；文件类型：F07；注意执照不能是过期的； 示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = true)
    @NotBlank(message = "licensePic不能为空")
    @Length(min = 1, max = 64, message = "licensePic 长度范围：1~64")
    private String licensePic;

    @Alias("license_code")
    @ApiModelProperty(value = "证照编号【工商营业执照编号；当use_head_info_flag=Y时不填； 公司类型为业主委员会，输入业主委员会备案证明上负责人的身份证号码； 示例值：92650109MA79R8E308；】", required = true)
    @NotBlank(message = "licenseCode不能为空")
    @Length(min = 1, max = 18, message = "licenseCode 长度范围：1~18")
    private String licenseCode;

    @Alias("license_type")
    @ApiModelProperty(value = "证照类型【参见机构证照类型说明；默认NATIONAL_LEGAL_MERGE；示例值：NATIONAL_LEGAL】", required = false)
    @Length(min = 1, max = 32, message = "licenseType 长度范围：1~32")
    private String licenseType;

    @Alias("license_validity_type")
    @ApiModelProperty(value = "证照有效期类型【0：非长期有效,1：长期有效；当use_head_info_flag=Y时不填 示例值：0 】", required = true)
    @NotBlank(message = "licenseValidityType不能为空")
    @Length(min = 1, max = 1, message = "licenseValidityType 长度范围：1~1")
    private String licenseValidityType;

    @Alias("license_begin_date")
    @ApiModelProperty(value = "证照有效期开始日期【格式：yyyyMMdd；示例值：20220125；当use_head_info_flag=Y时不填】", required = true)
    @NotBlank(message = "licenseBeginDate不能为空")
    @Length(min = 1, max = 8, message = "licenseBeginDate 长度范围：1~8")
    private String licenseBeginDate;

    @Alias("license_end_date")
    @ApiModelProperty(value = "证照有效期截止日期【格式：yyyyMMdd。示例值：20220125 当license_validity_type=0时必填；当license_validity_type=1时为空；当use_head_info_flag=Y时不填】", required = false)
    @Length(min = 1, max = 8, message = "licenseEndDate 长度范围：1~8")
    private String licenseEndDate;

    @Alias("found_date")
    @ApiModelProperty(value = "成立时间【示例值：20091212】", required = true)
    @NotBlank(message = "foundDate不能为空")
    @Length(min = 1, max = 8, message = "foundDate 长度范围：1~8")
    private String foundDate;

    @Alias("reg_capital ")
    @ApiModelProperty(value = "注册资本【保留两位小数；条件选填，国营企业、私营企业、外资企业、事业单位、其他、集体经济必填，政府机构、个体工商户可为空；示例值：100.00】", required = false)
    @Length(min = 1, max = 16, message = "regCapital  长度范围：1~16")
    private String regCapital ;

    @Alias("business_scope")
    @ApiModelProperty(value = "经营范围【示例值：日用百货、化妆品、珠宝、化工原料及产品(除危险品)、化学品、纺织原料】", required = false)
    @Length(min = 1, max = 1000, message = "businessScope 长度范围：1~1000")
    private String businessScope;

    @Alias("reg_prov_id")
    @ApiModelProperty(value = "注册省【参考地区码 ；示例值：310000；当use_head_info_flag=Y时不填】", required = false)
    @Length(min = 1, max = 6, message = "regProvId 长度范围：1~6")
    private String regProvId;

    @Alias("reg_area_id")
    @ApiModelProperty(value = "注册市【参考地区码 ；示例值：310100；当use_head_info_flag=Y时不填】", required = false)
    @Length(min = 1, max = 6, message = "regAreaId 长度范围：1~6")
    private String regAreaId;

    @Alias("reg_district_id")
    @ApiModelProperty(value = "注册区【参考地区码 ；示例值：310101；当use_head_info_flag=Y时不填】", required = true)
    @NotBlank(message = "regDistrictId不能为空")
    @Length(min = 1, max = 6, message = "regDistrictId 长度范围：1~6")
    private String regDistrictId;

    @Alias("reg_detail")
    @ApiModelProperty(value = "注册详细地址【商户注册地址或营业执照住所，汉字以2个字符计算 ； 示例值：上海市徐汇区XX路XX号 当use_head_info_flag=Y时不填】", required = true)
    @NotBlank(message = "regDetail不能为空")
    @Length(min = 1, max = 255, message = "regDetail 长度范围：1~255")
    private String regDetail;

    @Alias("prov_id")
    @ApiModelProperty(value = "经营省【参考地区编码 ；示例值：310000】", required = false)
    @Length(min = 1, max = 6, message = "provId 长度范围：1~6")
    private String provId;

    @Alias("area_id")
    @ApiModelProperty(value = "经营市【参考地区编码 ；示例值：310100】", required = false)
    @Length(min = 1, max = 6, message = "areaId 长度范围：1~6")
    private String areaId;

    @Alias("district_id")
    @ApiModelProperty(value = "经营区【参考地区编码 ；示例值：310101】", required = true)
    @NotBlank(message = "districtId不能为空")
    @Length(min = 1, max = 6, message = "districtId 长度范围：1~6")
    private String districtId;

    @Alias("detail_addr")
    @ApiModelProperty(value = "经营详细地址【scene_type=OFFLINE/ALL时必填； 示例值：上海市徐汇区XX路XX号】", required = false)
    @Length(min = 1, max = 256, message = "detailAddr 长度范围：1~256")
    private String detailAddr;

    @Alias("legal_name")
    @ApiModelProperty(value = "法人姓名【法人或负责人姓名，最大支持16个汉字； 注意有名字中有“·”时要与银行账号名一致； 示例值：张三； 当use_head_info_flag=Y时不填】", required = true)
    @NotBlank(message = "legalName不能为空")
    @Length(min = 1, max = 32, message = "legalName 长度范围：1~32")
    private String legalName;

    @Alias("legal_cert_type")
    @ApiModelProperty(value = "法人证件类型【参考《自然人证件类型》；示例值：00 当use_head_info_flag=Y时不填 开通全域资金管理功能只支持法人证件类型是身份证； 法人证件类型04、11、14需要补充 F31【法人】港澳台居民来往内地通行证 法人证件类型13需要补充F511【法人】外国人居留证 法人证件类型15需要补充F512【法人】港澳台居住证 其它法人证件类型补充F32【法人】其它证件材料 补充材料填写在extended_material_list 扩展资料包中】", required = true)
    @NotBlank(message = "legalCertType不能为空")
    @Length(min = 1, max = 2, message = "legalCertType 长度范围：1~2")
    private String legalCertType;

    @Alias("legal_cert_no")
    @ApiModelProperty(value = "法人证件号码【如法人证件类型为00：身份证，则填写身份证号码； 当use_head_info_flag=Y时不填；年龄不能小于18岁且不能大于80岁； 示例值：310112200001018888；】", required = true)
    @NotBlank(message = "legalCertNo不能为空")
    @Length(min = 1, max = 32, message = "legalCertNo 长度范围：1~32")
    private String legalCertNo;

    @Alias("legal_cert_validity_type")
    @ApiModelProperty(value = "法人证件有效期类型【1：长期有效；0：非长期有效 ；示例值 ：0】", required = true)
    @NotBlank(message = "legalCertValidityType不能为空")
    @Length(min = 1, max = 1, message = "legalCertValidityType 长度范围：1~1")
    private String legalCertValidityType;

    @Alias("legal_cert_begin_date")
    @ApiModelProperty(value = "法人证件有效期开始日期【日期格式：yyyyMMdd，示例值：20220125；当use_head_info_flag=Y时不填】", required = true)
    @NotBlank(message = "legalCertBeginDate不能为空")
    @Length(min = 1, max = 8, message = "legalCertBeginDate 长度范围：1~8")
    private String legalCertBeginDate;

    @Alias("legal_cert_end_date")
    @ApiModelProperty(value = "法人证件有效期截止日期【日期格式：yyyyMMdd， 示例值：20220125 当legal_cert_validity_type=0时必填； 当legal_cert_validity_type=1时为空； 当use_head_info_flag=Y时不填】", required = false)
    @Length(min = 1, max = 8, message = "legalCertEndDate 长度范围：1~8")
    private String legalCertEndDate;

    @Alias("legal_mobile_no")
    @ApiModelProperty(value = "法人手机号【示例值：13911111111】", required = false)
    @Length(min = 1, max = 11, message = "legalMobileNo 长度范围：1~11")
    private String legalMobileNo;

    @Alias("legal_addr")
    @ApiModelProperty(value = "法人证件地址【示例值：上海市徐汇区宜山路700号普天信息产业园2期C5栋】", required = true)
    @NotBlank(message = "legalAddr不能为空")
    @Length(min = 1, max = 256, message = "legalAddr 长度范围：1~256")
    private String legalAddr;

    @Alias("legal_cert_back_pic")
    @ApiModelProperty(value = "法人身份证国徽面【通过图片上传接口上传材料；文件类型：F03； 示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = true)
    @NotBlank(message = "legalCertBackPic不能为空")
    @Length(min = 1, max = 64, message = "legalCertBackPic 长度范围：1~64")
    private String legalCertBackPic;

    @Alias("legal_cert_front_pic")
    @ApiModelProperty(value = "法人身份证人像面【通过图片上传接口上传材料；文件类型：F02； 示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = true)
    @NotBlank(message = "legalCertFrontPic不能为空")
    @Length(min = 1, max = 64, message = "legalCertFrontPic 长度范围：1~64")
    private String legalCertFrontPic;

    @Alias("beneficiary_info")
    @ApiModelProperty(value = "受益人列表【】", required = false)
    @Valid
    private List<BeneficiaryInfo> beneficiaryInfo;

    @Alias("contact_name")
    @ApiModelProperty(value = "联系人姓名【默认法人姓名；示例值：张三】", required = false)
    @Length(min = 1, max = 128, message = "contactName 长度范围：1~128")
    private String contactName;

    @Alias("contact_mobile_no")
    @ApiModelProperty(value = "联系人手机号【需为11位数字 ；示例值：18611111111】", required = true)
    @NotBlank(message = "contactMobileNo不能为空")
    @Length(min = 1, max = 11, message = "contactMobileNo 长度范围：1~11")
    private String contactMobileNo;

    @Alias("contact_email")
    @ApiModelProperty(value = "联系人电子邮箱【需要带@，遵循邮箱格式； 示例值：huifu@xxx.com】", required = true)
    @NotBlank(message = "contactEmail不能为空")
    @Length(min = 1, max = 32, message = "contactEmail 长度范围：1~32")
    private String contactEmail;

    @Alias("sms_send_flag")
    @ApiModelProperty(value = "商户通知标识【进件成功后通知商户联系人， M：发送短信通知； E：发送邮件通知； A：短信、邮件都通知； 为空：不作通知。 示例值：M】", required = false)
    @Length(min = 1, max = 1, message = "smsSendFlag 长度范围：1~1")
    private String smsSendFlag;

    @Alias("login_name")
    @ApiModelProperty(value = "管理员账号【用于商户平台登录。全局唯一。支持英文、数字、下划线，区分大小写 ；示例值：huifu001】", required = true)
    @NotBlank(message = "loginName不能为空")
    @Length(min = 1, max = 32, message = "loginName 长度范围：1~32")
    private String loginName;

    @Alias("service_phone")
    @ApiModelProperty(value = "客服电话【默认联系人手机号；示例值：021XXXXXXXX】", required = false)
    @Length(min = 1, max = 32, message = "servicePhone 长度范围：1~32")
    private String servicePhone;

    @Alias("reg_acct_pic")
    @ApiModelProperty(value = "开户许可证【企业商户需要，结算账号为对公账户必填；通过图片上传接口上传材料；文件类型：F08； 示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "regAcctPic 长度范围：1~64")
    private String regAcctPic;

    @Alias("open_licence_no")
    @ApiModelProperty(value = "基本存款账户编号或核准号【条件选填；当use_head_info_flag=Y时不填 ； 基本存款账户信息请填写基本存款账户编号；开户许可证请填写核准号。 当注册地址或经营地址为如下地区时必填：江苏省、浙江省、湖南省、湖北省、云南省、贵州省、陕西省、河南省、吉林省、黑龙江省、福建省、海南省、重庆市、青海省、宁夏回族自治区； 示例值：J2900123456789】", required = false)
    @Length(min = 1, max = 32, message = "openLicenceNo 长度范围：1~32")
    private String openLicenceNo;

    @Alias("card_info")
    @ApiModelProperty(value = "银行卡信息配置【商户银行账户信息配置；开通中信E管家结算的银行卡配置在【elec_acct_config】中】", required = false)
    @Valid
    @NotNull(message = "1 不能为空")
    private CardInfo cardInfo;

    @Alias("settle_config")
    @ApiModelProperty(value = "结算业务配置【商户结算规则配置】", required = true)
    @Valid
    @NotNull(message = "1 不能为空")
    private SettleConfig settleConfig;

    @Alias("settle_card_front_pic")
    @ApiModelProperty(value = "卡正面【对私必填。通过图片上传接口上传材料；文件类型：F13 ；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "settleCardFrontPic 长度范围：1~64")
    private String settleCardFrontPic;

    @Alias("settle_cert_back_pic")
    @ApiModelProperty(value = "持卡人身份证国徽面【对私必填。通过图片上传接口上传材料；文件类型：F56；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "settleCertBackPic 长度范围：1~64")
    private String settleCertBackPic;

    @Alias("settle_cert_front_pic")
    @ApiModelProperty(value = "持卡人身份证人像面【对私必填。通过图片上传接口上传材料；文件类型：F55；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "settleCertFrontPic 长度范围：1~64")
    private String settleCertFrontPic;

    @Alias("auth_enturst_pic")
    @ApiModelProperty(value = "授权委托书【对私非法人必填；通过图片上传接口上传材料；文件类型：F15；开通银行电子账户（中信E管家）需提供F520；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "authEnturstPic 长度范围：1~64")
    private String authEnturstPic;

    @Alias("cash_config")
    @ApiModelProperty(value = "取现业务配置【商户取现信息配置】", required = false)
    @Valid
    private List<CashConfig> cashConfig;

    @Alias("head_office_flag")
    @ApiModelProperty(value = "商户身份【1：总部商户， 0：下级商户；不传默认普通商户。示例值：0 开通下级商户时，所选的上级商户需要有开通商户权限，需先调用“开通下级商户权限配置接口”】", required = false)
    @Length(min = 1, max = 1, message = "headOfficeFlag 长度范围：1~1")
    private String headOfficeFlag;

    @Alias("use_head_info_flag")
    @ApiModelProperty(value = "使用上级资料信息【Y:是 N：否；示例值：Y 选Y则部分信息复用上级，复用字段： license_code-营业执照编号, license_validity_type-营业执照有效期类型, license_begin_date-营业执照有效期开始日期, license_end_date-营业执照有效期截止日期, reg_prov_id-注册省, reg_area_id-注册市, reg_district_id-注册区, reg_detail- 注册详细地址, legal_name- 法人姓名, legal_cert_type-法人证件类型, legal_cert_no-法人证件号码, legal_cert_validity_type-法人证件有效期类型, legal_cert_begin_date-法人证件有效期开始日期, legal_cert_end_date-法人证件有效期截止日期, busi_type-经营类型, ent_type-公司类型, mcc-所属行业, open_licence_no-开户许可证核准号】", required = false)
    @Length(min = 1, max = 1, message = "useHeadInfoFlag 长度范围：1~1")
    private String useHeadInfoFlag;

    @Alias("head_huifu_id")
    @ApiModelProperty(value = "上级汇付Id【如果head_office_flag=0，则字段必填，如果head_office_flag=1，上级汇付Id不可传 如果headOfficeFlag=0，useHeadInfoFlag=Y,且head_huifu_id不为空则基本信息部分复用上级的基本信息。 示例值：6666000123123123】", required = false)
    @Length(min = 1, max = 18, message = "headHuifuId 长度范围：1~18")
    private String headHuifuId;

    @Alias("mer_url")
    @ApiModelProperty(value = "商户主页URL【商户主页URL ；示例值：https://paas.huifu.com/】", required = false)
    @Length(min = 1, max = 256, message = "merUrl 长度范围：1~256")
    private String merUrl;

    @Alias("mer_icp")
    @ApiModelProperty(value = "商户ICP备案编号【商户ICP备案编号或网站许可证号；示例值：沪ICP备06046402号-28  类型为PC网站时，且为企业商户，且开通快捷或网银，或大额转账，或余额支付或分账业务（20%（不含）-100%），或为个人商户开通分账业务（10%（不含）-100%），必填】", required = false)
    @Length(min = 1, max = 50, message = "merIcp 长度范围：1~50")
    private String merIcp;

    @Alias("store_header_pic")
    @ApiModelProperty(value = "线下经营-店铺门头照【通过图片上传接口上传材料；文件类型：F22；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530 微信/支付宝实名认证个人商户，门头照也使用此字段； 门店场所：提交门店门口照片，要求招牌清晰可见; 小微商户流动经营/便民服务：提交经营/服务现场照片】", required = true)
    @NotBlank(message = "storeHeaderPic不能为空")
    @Length(min = 1, max = 64, message = "storeHeaderPic 长度范围：1~64")
    private String storeHeaderPic;

    @Alias("store_indoor_pic")
    @ApiModelProperty(value = "线下经营-店铺内景/工作区域照【通过图片上传接口上传材料；文件类型：F24；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530 微信/支付宝实名认证个人商户，内景照也使用此字段； 门店场所：提交店内环境照片 小微商户流动经营/便民服务：可提交另一张经营/服务现场照片】", required = true)
    @NotBlank(message = "storeIndoorPic不能为空")
    @Length(min = 1, max = 64, message = "storeIndoorPic 长度范围：1~64")
    private String storeIndoorPic;

    @Alias("store_cashier_desk_pic")
    @ApiModelProperty(value = "线下经营-店铺收银台/公司前台照【通过图片上传接口上传材料；文件类型：F105；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530 微信/支付宝实名认证个人商户，内景照也使用此字段；】", required = true)
    @NotBlank(message = "storeCashierDeskPic不能为空")
    @Length(min = 1, max = 64, message = "storeCashierDeskPic 长度范围：1~64")
    private String storeCashierDeskPic;

    @Alias("online_company_pic")
    @ApiModelProperty(value = "线上经营-公司前台【办公场所照片-公司前台，通过图片上传接口上传材料；文件类型F478；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "onlineCompanyPic 长度范围：1~64")
    private String onlineCompanyPic;

    @Alias("online_company_area_pic")
    @ApiModelProperty(value = "线上经营-工作区域【办公场所照片-工作区域，通过图片上传接口上传材料；文件类型F371；示例值：57cc7f00-600a-33ab-b614-6221bbf2e530】", required = false)
    @Length(min = 1, max = 64, message = "onlineCompanyAreaPic 长度范围：1~64")
    private String onlineCompanyAreaPic;

    @Alias("ext_mer_id")
    @ApiModelProperty(value = "外部商户号【支持关联外部商户系统中的商户号；示例值：HF100001】", required = false)
    @Length(min = 1, max = 64, message = "extMerId 长度范围：1~64")
    private String extMerId;

    @Alias("remarks")
    @ApiModelProperty(value = "备注【备注内容；示例值：华东分公司】", required = false)
    @Length(min = 1, max = 300, message = "remarks 长度范围：1~300")
    private String remarks;

    @Alias("async_return_url")
    @ApiModelProperty(value = "异步请求地址【审核结果消息接收地址，为空时不推送消息； 示例值：http://service.example.com/to/path】", required = false)
    @Length(min = 1, max = 120, message = "asyncReturnUrl 长度范围：1~120")
    private String asyncReturnUrl;

    @Alias("elec_acct_config")
    @ApiModelProperty(value = "斗拱e账户功能配置【用于下级商户配置银行电子账户功能】", required = false)
    @Valid
    @NotNull(message = "1 不能为空")
    private ElecAcctConfig elecAcctConfig;

    @Alias("share_holder_info_list")
    @ApiModelProperty(value = "股东信息【全域资金业务新网银行必填】", required = false)
    @Valid
    private List<ShareHolderInfoList> shareHolderInfoList;

    @Alias("extended_material_list")
    @ApiModelProperty(value = "扩展资料包【根据要求上传补充相关材料】", required = false)
    @Valid
    private List<ExtendedMaterialList> extendedMaterialList;

}